home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d1
/
bnchutil.arc
/
SR.DOC
< prev
next >
Wrap
Text File
|
1991-04-30
|
13KB
|
424 lines
SPEEDREAD 2.0
A Disk Caching Program for PC Compatibles
____________________________________________________________________
* Easy to use.
* Improves disk access times.
* Installs automatically during system initialization.
* Invisible to all other software.
* Works on PC compatibles running MS-DOS with fixed disks.
* Number of buffers used is selectable during initialization.
* High performance record look-up.
* Cached records can have optional checksum attached to them.
* Optional write caching.
* Read-ahead.
* Concurrent caching.
* Directory locking.
* Statistics of operation can be displayed.
WHAT IS SPEEDREAD?
_____________________________________________________________________
SPEEDREAD is a program that may be automatically loaded into the PC
compatible's memory during the system startup. As the system is used ,
SPEEDREAD monitors how often certain parts of the disk are used and
copies the most recently used parts into its internal buffers. If the PC
attemps to read the data again, SPEEDREAD retrieves the data from its
buffers instead of the disk, speeding the transfer.
SPEEDREAD is not a RAM disk or VDISK. Although it stores data in main
memory (just like a RAM disk), it does not require that all of the files
that you will be using be pre-loaded into memory. Also, there is no limit
to the number or size of files. This is because SPEEDREAD determines what
files or parts of files or directories should be loaded into memory
automatically. Unlike a RAM disk, SPEEDREAD saves all data to the disk so
there is never a danger of data loss during power failures. After you
install SPEEDREAD you can use your hard disk and all its associated
software without modification. The only difference is that disk access
will be faster.
SPEEDREAD Performance
_________________________________________________________________________
How much faster can SPEEDREAD make your system? It takes SPEEDREAD less
than two milliseconds (on an 5 MHz 8088) to retrive any record of data
already in its memory. Compared to the average access time of some drives
of about 150 milliseconds, SPEEDREAD could improve performance of certain
operations by a factor of 70! SPEEDREAD also improves average latency
delays by 300% and sequential accesses by 50%. Of course, if the requested
record cannot be found in memory, there is no improvement in speed and a
small delay will be incured as SPEEDREAD copies the missing record.
SPEEDREAD can work with large amounts of memory without slowing down. The
amount of time it takes to find a record in memory is unrelated to how
much memory is dedicated to SPEEDREAD. In general, the more memory made
available to SPEEDREAD, the faster the system will go.
SETTING UP SPEEDREAD
__________________________________________________________________
SPEEDREAD is normally set up during the system initialization by
including SPEEDREAD system commands in the AUTOEXEC.BAT file. To
initialize SPEEDREAD and select how much memory it will use, enter the
following command into your AUTOEXEC.BAT file:
SR 300
This will initialize SPEEDREAD allow it to use 300 disk buffers. The
minimum allowable number of buffers that you may specify is 64 and
maximum is limited by MS-DOS and the application program you are running
( this could be as high as 900 buffers ). Each buffer takes up
approximately 550 bytes of space. You should allocate as many buffers as
possible for maximum performance.
If you have any difficulty installing SPEEDREAD, try renaming your
AUATOEXEC.BAT file to something else and install SPEEDREAD by hand. If
this works, you may have to juggle SPEDREAD's position in the AUTOEXEC
file.
SPEEDREAD OPTIONS
_________________________________________________________________________
SPEEDREAD has a number of options that you can use once it is running.
All these options may be used in the AUTOEXEC.BAT file. These options
allow you to fine tune SPEEDREAD for your system and to request SPEEDREAD
performance statistics.
WRITE CACHING
you may select whether disk blocks which are written are also cached.
SPEEDREAD defaults to not caching blocks that are written, though you may
enable this feature if you do a lot of immediate reading of data that
was just written to disk. A good example of this is the MS-DOS piping
system, since the 'pipes' are actually disk files. To enable and disable
caching of writes,type:
SR WRITE ON
SR WRITE OFF
CACHE CHECKSUMMING
For extra data integrity, SPEEDREAD can checksum each sector in the
cache. This can be especially handy if you are in a development
environment where program errors can cause acacidental writes to memory.
If a record is found to have a checksum error, it is purged from the
cache, a read is made from disk to fetch the correct record and the
checksum error count is incremented. Reading and writing checksummed
records takes about a millisecond longer an a XT, but sometimes the wait
is worth it. SPEEDREAD defaults to no checksums. The checksum control
commands are:
SR CHECK ON
SR CHECK OFF
You may notice a pause if you enable checksumming when there are many
cached records. This is because SPEEDREAD has to scan through the entire
cache calculating checksums for all the active records.
READ-AHEAD
MS-DOS reads sequential files quite efficienly if the application program
reads many blocks at a time. Unfortunately, some application programs do
not do their own file buffering. Instead they read sequential files block
by block, one record at a time. This causes considerable delays due to
disk latency. If multiple files are being read one block at a time, this
can cause seek for every block read. SPEEDREAD optionally can do the
buffering for applications that don't do their own buffering. If
SPEEDREAD detect that a sequential file has been opened that is being
read one block at a time, it will read ahead a number of blocks and place
them into cache. The actual number of blocks varies from 7 to 16
depending on SPEEDREAD's current configuration. SPEEDREAD defaults to
read-ahead. The read-ahead commands are:
SR READAHEAD ON or SR RA ON
SR READAHEAD OFF or SR RA OFF
CONCURRENT CACHING
Whenever missed data is read from the disk, SPEEDREAD copies the data
into its internal buffers. The copying usually happens immediately after a
read from the disk. During a DMA disk transfer, the computer's
microprocessor is usually sitting idle. If the concurrent caching option
is selected, SPEEDREAD will copy disk blocks unto its internal buffers
while the DMA transfer from the disk is happening. This saves time
because most of the disk blocks will typically be already copied into
SPEEDREAD's buffers at the end of the disk transfer. In order for
concurrent caching to work, the disk controller must be equippeda with a
Westren Digital concurrent caching BIOS. Without this BIOS, no
concurrent caching is possible. SPEEDREAD defaults to concurrent caching.
The concurrent caching commands are:
SR CONCURRENT ON or SR CON ON
SR CONCURRENT OFF or SR CON OFF
DIRECTORY LOCKING
SPEEDREAD can lock certain MS-DOS disk directories into cache. This
allows you to selectively nominate certain disk directories for permanent
inclusion into the cache. Good candidates for this might be the
directories that are part of the PATH command. These directories get
searched every time a command is executed from the MSDOS prompt. to lock
a directory, type:
SR LOCK C:\BIN\UTILITY
SPEEDREAD will lock all the records in the root directory and \BIN that
are used to arrive at \BIN\UTILITY. After those records are locked, all
the directory entries in UTILITY will be locked. Note that the path need
not be complete. If you are logged into a subdirectory already, SPEEDREAD
will lock all the records from the root directory up to your current
directory. To unlock directory records, type:
UNLOCK
SPEEDREAD will unlock all directories that have been cached. SPEEDREAD
does not delete these directory entries from the cache. If they remain
unused, they will be deleted by normal cache attrition. Normally it will
not be necessary to lock direcrories into SPEEDREAD because SPEEDREAD
will automatically load directories into its buffers if they are used
frequently enough. In fact, if you lock too many directory buffers, it
will inhibit SPEEDREAD's automatic buffer allocation scheme and cause
impaired performance.
CLEARING CACHE or MOUNTING DISKS
All records in SPEEDREAD can be cleared. You 'MUST' do this if you change
a removable 'fixed' disk. If this is not done, severe damage may be done
to the file structure, since MS-DOS cannot sense that the media was
changed. Two synonymous commands for this one function are supported:
SR CLEAR
or
SR MOUNT
ON and OFF
SPEEDREAD can be turned on and off after it has been installed. This is
handy especially for doing performance evaluations. Whenever SPEEDREAD is
turned on, all the records in cache are cleared. Note that when SPEEDREAD
is turned off, it and its buffers remain resident. to turn off SPEEDREAD,
type:
SR OFF
To re-enable cache operations, type:
SR ON
STATISTICS
SPEEDREAD can display a number of interesting statistics. Included are
the number of reads, writes, total number of accesses, the number of
hits, misses, the hit ratio, the number of blocks read-ahead and
concurrent cached. Diagnostic statistics include the number of random
allocations, checksum errors, cache clears, and the number of locked and
unlocked buffers. Optionally a queue bitmap and a list of active records
in cache can be displayed in drive, cylinder, head, and sector format. To
display statistics type:
SR STAT
HELP
In case you forget a command and forget this supplement, a help screen
can be displayed by typing:
SR HELP
FINE TUNING SPEEDREAD
Of course, SPEEDREAD will work just fine by installing it with 200 or 300
buffers, but by experimenting with it a little bit, you can get even
greater performance.
NUMBER OF MS-DOS BUFFERS
MS-DOS has its own built in caching system. It is used mainly for
directory operations and for reading and writing partial disk records.
The buffer look up system appears to be a sequential search, so if you
have too many buffers allocated, certain operations (especially partial
record reads and writes) are slowed. When running SPEEDREAD it usually is
a good idea to reduce the number of MS-DOS buffers to no more than 12 on
an XT. More buffers (maybe 30) may be specified on 80286 and 80386
machines.
NUMBER of SPEEDREAD BUFFERS
This one parameter will do more for increasing the performance of
SPEEDREAD than any other. To select the optimum number of buffers,
increase the number of buffers every so often. When you notice that
certain applications complain that there is not enough memory, reduce the
number of SPEEDREAD buffers. When you find a number of buffers that seems
to be optium, use the SR STAT command to see how many Random Allocations
are being made. SPEEDREAD is sometimes forced to do random allocations
when an internal buffer cannot be released by normal cache attrition. If
more than a few random allocations are being made in several hours of
computer use, try reducing the number of buffers by 1. To mininize the
number of random allocations, this may have to be repeated more than
once.
DISABLING CONCURRENT CACHING
If your disk controller is not equiped with a Westren Digital concurrent
caching BIOS, concurrent caching will be non-operational. The operational
status of concurrent caching can be verified by looking at the number
under "Concurrent Caches" in the status screen. If this number is zero,
chances are good that you do not have the proper BIOS. In this case, you
might want to disable concurrent caching for slightly improved
performance.
ERROR MESSAGES
_________________________________________________________________________
You must have DOS version 2.0 or better to run SPEEDREAD.
Your version of DOS is obsolete. SPEEDREAD requires DOS 2.X or 3.X
Winchester controller not installed or cannot return current parameters.
SPEEDREAD could not find your hard disk controller. This indicates that
your computer did not try to install your hard drive or you are
having hardware problems in your controller.
Illegal number of buffers specified for this installation.
None of SPEEDREAD's other commands can be excercised until SPEEDREAD is
installed. To install SPEEDREAD you must type SR and a number of buffers.
See installation instructions.
This version of MS-DOS does not work with Read-ahead.
SPEEDREAD requires that MS-DOS installs a special driver that the
shortcomings of the DMA addressing design in fixed disk BIOS. To use
Read-ahead, you must upgrade to a more current copy of MS-DOS. If you
decide to retain your old MS-DOS, all SPEEDREAD's other features will
remain operational.